#ifndef WIDGET_H
#define WIDGET_H

#include "taskworker.h"
#include <QThread>
#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget {
  Q_OBJECT

public:
  Widget(QWidget *parent = nullptr);
  ~Widget();

private slots:
  void showMessage(const QString &info);
  void on_btnSend_clicked();

signals:
  /**
   * @brief init
   * @param ip
   * @param port
   */
  void init(const QString &ip, quint16 port);

  /**
   * @brief onSend
   * @param arr
   */
  void onSend(const QString &arr);

  /**
   * @brief onClose
   */
  void onClose();                                  // 关闭套接字

private:
  Ui::Widget *ui;
  TaskWorker m_taskWorker;
  QThread m_thread;
  bool m_start = false;
};
#endif // MAINWINDOW_H
